package com.shuwen.gcdj.bean.power.response;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @Description
 * @Author gaoSL
 * @Date 2023/5/12 16:20
 **/
@Data
@ApiModel
public class MenuTreeResp {

    /**
     * 权限id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty("权限id")
    private String id;
    /**
     * 权限码(控制前端展示+后端接口访问)
     */
    @ApiModelProperty("权限码(控制前端展示+后端接口访问)")
    private String code;
    /**
     * 权限名称
     */
    @ApiModelProperty("权限名称")
    private String name;
    /**
     * 父级权限id
     */
    @ApiModelProperty("父级权限id")
    private String parentId;
    /**
     * 层级，最顶层为1级
     */
    @ApiModelProperty("层级，最顶层为1级")
    private Integer level;
    /**
     * 排序编号，值越小越靠前
     */
    @ApiModelProperty("排序编号，值越小越靠前")
    private Integer sort;

    /**
     * 菜单图标路径
     */
    @ApiModelProperty("菜单图标路径")
    private String icon;

    /**
     * 菜单路由
     */
    @ApiModelProperty("菜单路由")
    private String routePath;

    /**
     * 是否隐藏 1:隐藏 0:不隐藏
     */
    @ApiModelProperty("是否隐藏 1:隐藏 0:不隐藏")
    private Integer isHidden;
    /**
     * 数据范围和信息范围展示类型(多个用','分割) 1:展示信息范围 2:展示数据范围
     */
    @ApiModelProperty("数据范围和信息范围展示类型(多个用','分割) 1:展示信息范围 2:展示数据范围")
    private String showType;

    /**
     * 默认信息范围 common:通用 all:所有
     */
    @ApiModelProperty("默认信息范围 common:通用 all:所有")
    private String defaultInfoType;


    /**
     * 是否删除 1-删除 0-正常
     */
    @ApiModelProperty("配置id")
    private String webId;
    /**
     * 是否删除 1-删除 0-正常
     */
    @ApiModelProperty("配置父级id")
    private String webParentId;

    /**
     * 是否为菜单权限 0 否  1  是
     */
    @ApiModelProperty("是否为菜单权限 0 否  1  是")
    private Integer isMenu;

    @ApiModelProperty("子菜单")
    private List<MenuTreeResp> child;
    @ApiModelProperty("按钮集")
    private List<MenuTreeResp> btns;
}
